"""
!/usr/bin/env python
-*- coding: utf-8 -*-
@Author  : MarkJia
@Site    : 
@File    : 2、命名要求 和 用例结构.py
"""

"""
命名规范：
    文件名   test_开头 或者 _test结尾
    类      Test开头
    方法    类内中       test_开头
    函数    类外模块里    test_开头
    全局变量 ： _CLASS_NAME
    测试类中不可以添加 __init__构造函数
"""


class TestDemo:

    def test_demo(self):
        str = 'foo'
        assert str.upper() == 'FOO'


"""
类级别的用例示例：
    1、setup : 资源准备
    2、teardown : 资源销毁，数据清理
    3、测试用例 ： 测试步骤，预期结果 
pytest 用例结构：
    1、用例名称
    2、用例步骤
    3、用例断言 ： 实际结果 与 预期结果 比对
    
测试用例断言：
    什么是断言（assert）
        是一种在程序中的一阶逻辑（如：一个结果为真或假的逻辑判断式）目的是为了表示验证软件开发者预期的结果。当程序执行到断言的位置时，对应的断言应该为真.
        若断言不为真，程序会中止执行，并给出错误信息
        测试步骤1  ->  测试步骤2  ->  测试断言：为真（pass）  为假（failed）AssertionError
    断言的用法
        assert 表达式
        assert 表达式,描述
"""


def test_a():
    assert True


def test_b():
    assert False


def test_c():
    a = 1
    b = 2
    expect = 3
    assert a + b == expect


def test_str():
    assert 'abc' in 'acd', '字符在后面的字符串中'


import sys


def test_plat():
    # AssertionError: 该代码只在linux中运行
    assert ('linux' in sys.platform), '该代码只在linux中运行'
